package com.atguigu.bigdata.scala.chapter06

object Scala07_Object_Field {
    def main(args: Array[String]): Unit = {

        // TODO 面向对象编程 - 属性
        // scala中类的属性，其实就是类中变量
        // 类变量 => 方法
        // 局部变量 => 函数
        val user = new User()
        //user.name = "lisi"
        //user.age = 30

        // java中的属性可以不需要显示的初始化，会由JVM默认初始化
        // scala中的属性无法显示初始化，因为属性就是变量，scala语法中，要求变量必须显示地初始化
        // 如果希望scala中属性也像java一样，由默认初始化，那么需要使用特殊符号：下划线
        // 使用下划线进行初始值操作的属性不能使用val声明
        // 一般情况下，类中的属性都采用var声明，变量的声明一般都采用val声明

    }
    class User {
        // 声明属性
        var name : String = "zhangsan"
        val age : Int = 30
        var sex : String = _
//        def test(): Unit = {
//            val age = 20
//        }
    }
}